package org.example;

import java.util.List;
import java.util.Scanner;

/*
 * 超市类
 */

public class Supermarket {

    /*
     * inventory用于存储商品
     */
    static List<Product> inventory;

    /*
     * 打印超市的主界面
     */
    static void supermarketMainMenuPainting(){
        Painter.paintingSpace();
        System.out.println("----------欢迎来到蓝旭大超市！----------");
        Painter.paintingSpace();
        System.out.println("请问您想进行什么操作：");
        Painter.paintingSpace();
        System.out.println("1.管理员登录 2.用户登录 3.退出超市");
        Painter.paintingSpace();
        System.out.print("请输入你的操作的编号（如果没看word文档，在这里告诉你密码是123456789）：");
    }

    /*
     * 超市的主界面
     */
    static void supermarketMainMenu() {

        /*
         * 主界面打印
         */
        Supermarket.supermarketMainMenuPainting();

        /*
         * 读取操作数并对异常情况处理
         */
        Check checker = new Check();
        Scanner reader = new Scanner(System.in);
        String temp = reader.next();
        while(checker.isNotIntegerNum(temp)){
            Painter.paintingSpace();
            System.out.print("请您输入正确的操作数：");
            temp = reader.next();
        }
        int function = Integer.parseInt(temp);

        /*
         * 执行操作数对应的操作
         */
        switch (function) {

            /*
             * 进入管理员界面
             */
            case 1 -> {
                Administrator administrator = new Administrator();
                administrator.administratorMenu();
            }

            /*
             * 进入用户界面
             */
            case 2 -> {
                User user = new User();
                user.userMenu();
            }

            /*
             * 退出程序
             */
            case 3 -> {
                Painter.paintingSpace();
                System.out.println("欢迎下次光临！");
                System.exit(0);
            }

            /*
             * 处理异常操作符
             */
            default -> {
                Painter.paintingNSpace();
                System.out.println("！！！请您输入正确的操作！！！\n");
                supermarketMainMenu();
            }
        }

    }

    /*
     * 添加商品
     */
    static void addProduct(Product product) {
        inventory.add(product);
    }

    /*
     * 打印商品清单
     */
    static void displayInventory() {

        /*
         * 打印清单目录
         */
        Painter.paintingNSpace();
        System.out.println("----------商品清单----------");
        Painter.paintingSpace();
        System.out.println("商品编号\t\t商品名称");

        /*
         * 打印商品信息
         */
        for (Product product : inventory) {
            Painter.paintingSpace();
            System.out.printf("%-11s %-11s （价格：%7.2f   数量：%d）\n",product.getId(),product.getName(),product.getPrice(),product.getQuantity());
        }

    }
}
